package sh.grapendaal.tsuushin.module.uno.engine.dto;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import org.threeten.bp.Duration;
import org.threeten.bp.LocalDateTime;

public class GameReport implements Serializable {

	private static final long serialVersionUID = 6060773878957912153L;
	
	private LocalDateTime startDate;
	private LocalDateTime endDate;
	private Duration totalPlayingTime = Duration.ZERO;
	
	private List<GameState> gameStates = new ArrayList<GameState>();

	public LocalDateTime getStartDate() {
		return startDate;
	}

	public void setStartDate(LocalDateTime startDate) {
		this.startDate = startDate;
	}

	public LocalDateTime getEndDate() {
		return endDate;
	}

	public void setEndDate(LocalDateTime endDate) {
		this.endDate = endDate;
	}
	
	public Duration getTotalPlayingTime() {
		return totalPlayingTime;
	}
	
	public void addTotalPlayingTime(Duration duration) {
		this.totalPlayingTime = this.totalPlayingTime.plus(duration);
	}

	public List<GameState> getGameStates() {
		return gameStates;
	}

	public void addGameState(GameState gameState) {
		this.gameStates.add(gameState);
	}
}
